package com.mzj.saas.mservice.smartlock.base;

import com.haixiaoke.saas.repository.core.AjaxResult;
import com.mzj.saas.commons.ResultBean;
import com.mzj.saas.mservice.lock.entity.SmartLockBle;
import com.mzj.saas.mservice.lock.entity.SmartLockCard;
import com.mzj.saas.mservice.lock.entity.SmartLockPwd;
import com.mzj.saas.mservice.smartlock.vo.SmartLockFingerprintVO;
import com.mzj.saas.mservice.smartlock.vo.SmartLockVO;

/**
 * 智能锁基础接口
 */
public interface BaseLock {

    // 授权密码和授权临时密码
    ResultBean<String> authorizationPwd (SmartLockVO vo, SmartLockPwd smartLockPwd);
    // 删除密码授权
    ResultBean<String> deletePwd (SmartLockVO vo, Long lockAuthId);
    // 授权指纹开锁
    ResultBean<String> fingerprintUnlocking (SmartLockFingerprintVO vo);
    // 删除指纹开锁
    ResultBean<String> deleteFingerprintUnlocking (SmartLockVO vo);
    // 授权门卡开锁
    boolean doorCardUnlocking ();
    // 授权身份证/CUP卡开锁
    ResultBean<String> identityCardUnlocking (SmartLockVO vo, SmartLockCard smartLockCard);
    // 删除身份证/CUP卡开锁
    ResultBean<String> deleteIdentityCardUnlocking (SmartLockVO vo);
    // 授权蓝牙开锁
    ResultBean<String> bluetoothUnlocking (SmartLockVO vo, SmartLockBle smartLockBle);
    // 获取蓝牙密钥
    ResultBean<String> getBluetoothUnlocking (Long lockAuthId);
    // 删除蓝牙开锁权限
    ResultBean<String> deleteBluetoothUnlocking (SmartLockVO vo);
    // 删除智能锁所有授权
    ResultBean<String> deleteAll(String mac, Long lockId);
}
